The use of network computing and storage has proliferated in recent years. The resources for network computing and storage are often provided by computing resource service providers who leverage large-scale networks of computers, servers and storage drives to enable customers, including organizations of various sizes, to host and execute a variety of applications and web services. Customers, who traditionally used on-site servers and storage equipment to host their websites or provide enterprise services to their organizations and employees, often forego on-site hosting and storage and turn to using the resources of the computing resource providers. The usage of network computing allows customers to efficiently and adaptively satisfy their computing needs, whereby the computing, storage and resources may be added or removed from a large pool provided by a computing resource provider on an on-demand basis.
Customers of a computing resource service provider often utilize the resources of the service provider to create complex distributed system architectures, with a complex set of dependencies. At the same time, individual components of a distributed system are often updated for various reasons and such updates can create issues with the management of such complex systems. It is often challenging to enable testing computing systems having a plurality of elements before the runtime execution of the computing systems. It is also challenging to perform the testing when interdependencies between the plurality of computing system elements exist.